package com.hr.domain.po;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author LuoQiu
 * @since 2024-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("process_instance")
@ApiModel(value="ProcessInstance对象")
public class ProcessInstance implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "部门ID")
    private Integer departmentId;

    @ApiModelProperty(value = "部门")
    private String departmentName;

    @ApiModelProperty(value = "申请时间(format: date-time)")
    private String procApplyTime;

    @ApiModelProperty(value = "当前节点审批人ID")
    private Integer procCurrNodeUserId;

    @ApiModelProperty(value = "当前节点审批人")
    private String proCurrNodeUserName;

    @ApiModelProperty(value = "申请的业务数据(需要转化为json)")
    private String procData;

    @ApiModelProperty(value = "流程实例ID")
    private Integer processId;

    @ApiModelProperty(value = "流程标识(分为： 请假 process_leave， 加班：process_overtime 离职：process_dimission)")
    private String processKey;

    @ApiModelProperty(value = "流程名称")
    private String processName;

    @ApiModelProperty(value = "流程状态（1审批中；2审批通过；3审批不通过；4撤销) ")
    private Integer processState;

    @ApiModelProperty(value = "入职时间(format: date-time)")
    private String timeOfEntry;

    @ApiModelProperty(value = "申请人ID")
    private Integer userId;

    @ApiModelProperty(value = "申请人")
    private String userName;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;


}
